1. Field of the Invention
The present invention relates to data processing system interfaces, and more specifically, to data capture systems using data strobes to capture a data signal.
2. Description of the Related Art
The use of a data strobe to capture a data signal is known. Conventional data capture systems input data signals into a data latch and a data strobe signal triggers the data latch to capture the data at the edge of that data strobe signal. The data output from the data latch is a latched data signal.
FIG. 1 illustrates one problem associated with conventional data capture systems using a data strobe signal. A data capture system includes a data input line 110, a data strobe line 120, a data latch 130, and a data output line 140. The data input line 110 and the data strobe line 120 are coupled to inputs of the data latch 130. The data output line 140 is coupled to the output of the data latch 130.
The data latch 130 receives a data input signal 115a along the data input line 110 and a data strobe signal 125 along the data strobe line 120. Valid data is latched for output along the data output line 140 when the data strobe signal 125 is triggered within a window of opportunity, i.e., when the data strobe signal 125 captures valid data input signal 115a. No data is latched, however, when the data strobe signal 125 is triggered and the data is either too early 115b or too late 115c.
Conventional data capture systems as in FIG. 1 have a window to capture valid input data that may drift, either forward or backward, over time relative to when the data strobe signal 125 triggers the input latch to latch the input data signal 115a. An input data signal 115a that drifts forward is considered a late input data signal 115c and an input data signal 115a that drifts backward is considered an early input data signal 115a. The drift of the input data signal 115a may result in the capture of invalid input data because there is no data present to latch when the data strobe signal triggers the data latch.
To account for the data drift, conventional data capture systems constantly undergo a recalibration process. Generally, the recalibration process consists of timing the conventional data capture system at two points of failure and selecting a point inbetween as the point where the data strobe signal triggers the data latch to capture the input data. For the recalibration process, typically, a first point of failure is where data is late and a second point of failure is where the data is early. The constant timing of the failure points as a result of the recalibration process causes longer throughput delays that result in decreasing overall system performance.
Other conventional data capture systems use a programmable delay to account for data drift. Data capture systems using a programmable delay provide a data strobe signal to continually capture input data until invalid data is detected. If invalid data is received by the system, the data capture system is stopped, backed up, and retried to capture data input by providing a data strobe signal at another point.
A problem with the programmable delay is a decrease in system performance because of stopping and starting the data capture system every time data drifts. Moreover, such data capture systems often capture invalid input data even after invalid data is detected because the system may be unable to determine where to back up and retry the data capture process.
Another problem with a programmable delay is data inaccuracy. Data inaccuracy occurs because the data processing system is unaware of what data is to be received so that it is incapable of accurately stopping the data capture system and retrying the data capture process.
Some conventional data capture systems use no delays to account for data drift. These conventional data capture systems do not adjust the data strobe signal, but rather slow the data capture system. Slowing the data capture system increases the window of opportunity to capture input data making it large enough so that data does not drift outside that window of opportunity. Conventional data capture systems, such as programmable clock delay select systems, include complex circuit matrices and hardware logic to alter circuit routing to accommodate the necessary system delay to obtain a larger window of opportunity.
Such conventional systems, of course, decrease data capture speed. Further, in such conventional systems there is an increase in hardware costs resulting from the increased, and more complex, implementing hardware. Moreover, there is an increase in system testing costs as the data capture system must be tested against, and custom fit with, each and every associated hardware component that interacts with the data capture system.
Therefore, there is a need for a system and a method that (1) captures input data by strobing an input data signal only once, (2) provides an early warning detection system to adjust the data strobe points before data drifts outside a window of opportunity, (3) provides an early warning detection system to indicate when data is on the verge of failure, and (4) is flexible for use with a variety of associated hardware components that interact with data capture systems.